package tests;

import java.io.BufferedReader;
import java.io.FileReader;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Set;

import quinielas.LeeQuinielas;
import quinielas.Quiniela;
import temporadas.Partido;

public class GeneradorQuinielas {

	
	public static void main(String[] args) throws Exception {
		
		LeeQuinielas siguienteQuiniela;
		List<Partido> lp;
		Set<String>eqImportantes=new HashSet<String>();
		eqImportantes.add("INGLATERRA");eqImportantes.add("PORTUGAL");eqImportantes.add("ESPAÑA");
		eqImportantes.add("FRANCIA");eqImportantes.add("ITALIA");eqImportantes.add("ALEMANIA");
		eqImportantes.add("BRASIL");eqImportantes.add("ARGENTINA");
				
		siguienteQuiniela = new LeeQuinielas("proxima");//leer los partidos de la web
	    lp= siguienteQuiniela.getLp();//obtener dicha lista
	       
	    Quiniela q = new Quiniela(lp);//creo la nueva quiniela pasando por parametro lp
	    String entrada;
	    Map<Partido,String> pronosticoQuiniela=new HashMap<Partido,String>();	
	    	      
		for(Partido p:q.getPq()){
			 BufferedReader lector = new BufferedReader(new FileReader("masdesegunda"));
			 boolean nohay=true;
			 boolean noSalir=true;
			   
			while((entrada=lector.readLine())!=null && noSalir){
				String equipo=entrada.trim();
				if (equipo.compareToIgnoreCase("LOC: "+p.geteCasa())==0){
				
					while(!(entrada=lector.readLine()).startsWith("LOC: ")&& noSalir){
						
						if (entrada.toLowerCase().contains(p.geteVisitante().toLowerCase())){
								int index=entrada.length();
								pronosticoQuiniela.put(p,entrada.charAt(index-1)+"");
								nohay=false;
								noSalir=false;
								
						}
					}
				}
			}
		//esto quiere decir que no hemos podido meter un partido en mapa xq no tenemos estadisticas
		//tambien modifica el pronostico dependiendo si es un equipo fuerte (Internacionales)	
			if(nohay){
				if((eqImportantes.contains(p.geteCasa()))&& (!eqImportantes.contains(p.geteVisitante())))
					pronosticoQuiniela.put(p,"1");
				else if((eqImportantes.contains(p.geteVisitante()))&& (!eqImportantes.contains(p.geteCasa())))
					pronosticoQuiniela.put(p,"2");
				else
					pronosticoQuiniela.put(p,"X");
					
				System.out.println("por defecto");//comprobar si realmente deben salir tantos
				}
		}
		
		Iterator<?> it = pronosticoQuiniela.entrySet().iterator();
		while (it.hasNext()) {
			Map.Entry<Partido,String> e = (Map.Entry<Partido,String>)it.next();
			System.out.println(e.getKey().geteCasa()+" - "+e.getKey().geteVisitante()+" - "
								+e.getValue());
		}	
		
	}

}
